package com.roadjava.rbac.bean.req.authority;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;


@Data
public class AuthorityAddReq {
    /**
     * 父级id,-1:没有父级
     */
    @NotNull
    private Long parentId;
    /**
     * 0:路由组件 1:按钮
     * @see com.roadjava.rbac.enums.AuthorityTypeEnum
     */
    @NotNull
    private Integer type;
    /**
     * 权限名称,可用于标题和菜单名称
     */
    @NotBlank
    private String authorityName;

    /**
     * 排序,越小排序越靠前
     */
    @NotNull
    private Integer orderNo;
    /**
     * 前端路由路径
     */
    private String path;

    /**
     * 关联的后端请求集合
     */
    private List<String> relateBackUriList;

    /**
     * 前端组件相对@/views/所在的目录,如dept/DeptManage
     */
    private String componentPath;

    /**
     * 0:否1:是
     * @see com.roadjava.rbac.enums.YesNoEnum
     */
    @NotNull
    private Integer showInMenu;

    /**
     * 菜单对应的图标名称
     */
    private String icon;
}
